Parameters Explanation ************************** ============================================================================== parameter parameter list ============================================================================== - task_ -------------------------------------------------------------------------------------------------------------------------------------------- - sys.pseudoType_ - sys.pseudoPath_ - sys.structure_ - sys.symmetry_ - sys.symmetryAccuracy_ - sys.functional_ - sys.spin_ - sys.spinDiff_ - sys.soi_ - sys.electron_ - sys.hybrid_ - sys.hybridType_ - sys.hybridAlpha_ - sys.hybridOmega_ - sys.sol_ - sys.solEpsilon_ - sys.solTAU_ - sys.solLambdaD_ - sys.fixedP_ - sys.fixedPConvergence_ - sys.fixedPPotential_ - sys.fixedPType_ - sys.fixedPMaxIter_ -------------------------------------------------------------------------------------------------------------------------------------------- - cal.iniCharge_ - cal.iniWave_ - cal.cutoffFactor_ - cal.cutoff_ - cal.methods_ - cal.smearing_ - cal.sigma_ - cal.kpoints_ - cal.ksamping_ - cal.totalBands_ - cal.opticalGrid_ - cal.iniFixedP_ - cal.FFTGrid_ - cal.supGrid_ -------------------------------------------------------------------------------------------------------------------------------------------- - io.charge_ - io.elf_ - io.potential_ - io.wave_ - io.band_ - io.dos_ - io.optical_ - io.bader_ - io.polarization_ - io.magProject_ - io.boundCharge_ - io.outJsonFile_ -------------------------------------------------------------------------------------------------------------------------------------------- - scf.max_ - scf.min_ - scf.mixBeta_ - scf.mixType_ - scf.convergence_ - scf.timeStep_ -------------------------------------------------------------------------------------------------------------------------------------------- - relax.max_ - relax.freedom_ - relax.methods_ - relax.convergenceType_ - relax.convergence_ - relax.stepRange_ - relax.pressure_ -------------------------------------------------------------------------------------------------------------------------------------------- - dos.range_ - dos.resolution_ - dos.project_ -------------------------------------------------------------------------------------------------------------------------------------------- - band.kpointsLabel_ - band.kpointsCoord_ - band.kpointsNumber_ - band.project_ - band.unfolding_ - band.primitiveUVW_ - band.EfShift_ -------------------------------------------------------------------------------------------------------------------------------------------- - optical.grid_ - optical.KKEta_ - optical.smearing_ - optical.sigma_ - optical.Emax_ -------------------------------------------------------------------------------------------------------------------------------------------- - potential.type_ -------------------------------------------------------------------------------------------------------------------------------------------- - corr.chargedSystem_ - corr.dipol_ - corr.dipolDirection_ - corr.dftu_ - corr.dftuForm_ - corr.dftuElements_ - corr.dftuOrbital_ - corr.dftuU_ - corr.dftuJ_ - corr.VDW_ - corr.VDWType_ - corr.dipolEfield_ - corr.dipolPosition_ - corr.coreEnergy_ -------------------------------------------------------------------------------------------------------------------------------------------- - pcharge.bandIndex_ - pcharge.kpointsIndex_ - pcharge.sumK_ -------------------------------------------------------------------------------------------------------------------------------------------- - neb.springK_ - neb.images_ - neb.iniFin_ - neb.method_ - neb.convergenceType_ - neb.convergence_ - neb.stepRange_ - neb.max_ - neb.freedom_ -------------------------------------------------------------------------------------------------------------------------------------------- - frequency.dispOrder_ - frequency.dispRange_ -------------------------------------------------------------------------------------------------------------------------------------------- - phonon.structureSize_ - phonon.method_ - phonon.type_ - phonon.isDisplacement_ - phonon.fdDisplacement_ - phonon.iniPhonon_ - phonon.qsamping_ - phonon.qpoints_ - phonon.qpointsLabel_ - phonon.qpointsCoord_ - phonon.qpointsNumber_ - phonon.primitiveUVW_ - phonon.dosRange_ - phonon.dosResolution_ - phonon.dosSigma_ - phonon.dfptEpsilon_ - phonon.nac_ - phonon.thermal_ - phonon.thermalRange_ - phonon.eigenVectors_ -------------------------------------------------------------------------------------------------------------------------------------------- - elastic.dispOrder_ - elastic.dispRange_ -------------------------------------------------------------------------------------------------------------------------------------------- - aimd.ensemble_ - aimd.thermostat_ - aimd.andersenProb_ - aimd.noseMass_ - aimd.latticeFCoeff_ - aimd.atomFCoeffElements_ - aimd.atomFCoeffs_ - aimd.latticeMass_ - aimd.pressure_ - aimd.iniTemp_ - aimd.finTemp_ - aimd.timeStep_ - aimd.totalSteps_ -------------------------------------------------------------------------------------------------------------------------------------------- - wannier.functions_ - wannier.wannMaxIter_ - wannier.disMaxIter_ - wannier.disWin_ - wannier.disFrozWin_ - wannier.disEfShift_ - wannier.interpolatedBand_ - wannier.kpointsLabel_ - wannier.kpointsCoord_ - wannier.kpointsNumber_ - wannier.kmeshTolerance_ - wannier.outStep_ - WannProj_ -------------------------------------------------------------------------------------------------------------------------------------------- .. _ 参数详细描述: ============================================================================== Detail parameter description ============================================================================== .. _task: **Parameter Name:** :guilabel:`task` **Default:** None **Optional values:** ``scf/relax/dos/band/optical/potential/elf/pcharge/neb/frequency/phonon/elastic/aimd/epsilon/wannier`` **Description:** The :guilabel:`task` parameter specifies the calculation type and is mandatory. ``scf/relax`` can be a from-scratch calculation (without setting ``cal.iniCharge`` and ``cal.iniWave``) or import charge density or wave functions (by setting ``cal.iniCharge`` and ``cal.iniWave``). ``dos/band/optical/potential/elf`` are post-processing calculations that require reading charge density. When importing charge density, you can optionally import the wave function ( **cal.iniCharge** must be set, **cal.iniWave** is optional); **Case:** task = scf -------------------------------------------------------------------------------------------------------------------------------------------- .. _sys.pseudoType: **Parameter Name:** :guilabel:`sys.pseudoType` **Default:** -1 **Optional Values:** -1/10/11 **Description:** The ``sys.pseudoType`` parameter sets the pseudopotential format required for **DS-PAW** calculations; -1 indicates the use of hzw pseudopotentials (*.paw). Currently, DS-PAW supports hzw pseudopotentials for 72 elements: **H He Li Be B C N O F Ne Na Mg Al Si P S Cl Ar K Ca Sc Ti V Cr Mn Fe Co Ni Cu Zn Ga Ge As Se Br Kr Rb Sr Y Zr Nb Mo Tc Ru Rh Pd Ag Cd In Sn Sb Te I Xe Cs Ba La Hf Ta W Re Os Ir Pt Au Hg Tl Pb Bi Po At Rn**. **Description:** 10 represents external potcar format pseudopotentials (*.potcar), and 11 represents external pawpsp format pseudopotentials (*.pawpsp). **Example:** sys.pseudoType = -1 -------------------------------------------------------------------------------------------------------------------------------------------- .. _sys.pseudoPath: **Parameter Name:** :guilabel:`sys.pseudoPath` **Default:** When ``sys.pseudoType`` = -1, this parameter does not need to be set, and the program can only read pseudopotential files from the installation path **/pseudopotential**; ``sys.pseudoType`` = 10, the default value is **./**; ``sys.pseudoType`` = 11, the default value is **./**; **Description:** The ``sys.pseudoPath`` parameter sets the path where the pseudopotentials required for **DS-PAW** calculations are located; it generally does not need to be set manually, as it reads from the default storage path when reading hzw pseudopotentials and defaults to the current path when reading external pseudopotentials. **Example:** sys.pseudoPath = ./ -------------------------------------------------------------------------------------------------------------------------------------------- .. _sys.structure: **Parameter Name:** :guilabel:`sys.structure` **Default:** atoms.as **Optional Values:** .as / .h5 / .json **Description:** The ``sys.structure`` parameter sets the path to the structure file, supporting ``.as``, ``.h5``, and ``.json`` formats, with both absolute and relative paths allowed; DS-PAW generates the ``relax.h5`` file by default after structural relaxation, so you can directly set ``sys.structure = relax.h5``. Read the relaxed structure for calculation; (.json files are currently supported but not recommended, DS-PAW will completely eliminate the JSON format output in iterative versions.) **Example:** sys.structure = relax.h5 -------------------------------------------------------------------------------------------------------------------------------------------- .. _sys.symmetry: **Parameter Name:** :guilabel:`sys.symmetry` **Default value:** true **Optional Values:** true/false **Description:** The parameter ``sys.symmetry`` indicates whether symmetry analysis is performed during DS-PAW calculations; **Example:** sys.symmetry = false -------------------------------------------------------------------------------------------------------------------------------------------- .. _sys.symmetryAccuracy: **Parameter Name:** :guilabel:`sys.symmetryAccuracy` **Default value:** 1.0e-5 **Allowed values:** real **Description:** The `sys.symmetryAccuracy` parameter specifies the accuracy of the symmetry analysis during DS-PAW calculations; **Example:** sys.symmetryAccuracy = 1.0e-6 -------------------------------------------------------------------------------------------------------------------------------------------- .. _sys.functional: **Parameter Name:** :guilabel:`sys.functional` **Default value:** LDA **Options:** LDA/PBE/REVPBE/RPBE/PBESOL/vdw-optPBE/vdw-optB88/vdw-optB86b/vdw-DF/vdw-DF2/vdw-revDF2 **Description:** The ``sys.functional`` parameter specifies the functional type for DS-PAW. If **sys.functional=LDA**, the LDA pseudopotentials in the specified path will be read; pseudopotentials starting with "vdw" correspond to van der Waals correction methods for the functional. **Example:** sys.functional = PBESOL -------------------------------------------------------------------------------------------------------------------------------------------- .. _sys.spin: **Parameter Name:** :guilabel:`sys.spin` **Default value:** none **Options:** none/collinear/non-collinear **Description:** The ``sys.spin`` parameter specifies the spin properties to be calculated; **none** indicates no spin, **collinear** indicates collinear spin, and **non-collinear** indicates general spin; **Example:** sys.spin = collinear -------------------------------------------------------------------------------------------------------------------------------------------- .. _sys.spinDiff: **Parameter Name:** :guilabel:`sys.spinDiff` **Default value:** None **Optional Values:** [0, ∞) **Description:** Sets the difference in the number of up and down spin electrons; **Example:** sys.spinDiff = 1 -------------------------------------------------------------------------------------------------------------------------------------------- .. _sys.soi: **Parameter Name:** :guilabel:`sys.soi` **Default:** false **Possible values:** true/false **Description:** ``sys.soi`` indicates whether to consider spin-orbit coupling; spin-orbit coupling only takes effect when sys.spin=non-collinear; **Example:** sys.soi = true -------------------------------------------------------------------------------------------------------------------------------------------- .. _sys.electron: **Parameter Name:** :guilabel:`sys.electron` **Default:** The sum of all valence electrons **Optional values:** real **Description:** The ``sys.electron`` parameter specifies the total number of valence electrons; DS-PAW calculates charged systems by introducing a background charge. **Case:** sys.electron = 12 -------------------------------------------------------------------------------------------------------------------------------------------- .. _sys.hybrid: **Parameter Name:** :guilabel:`sys.hybrid` **Default:** false **Allowed values:** true/false **Description:** The ``sys.hybrid`` parameter specifies whether to use a hybrid functional. `true` indicates the introduction of a hybrid functional, while `false` indicates its absence. ``sys.hybrid`` is only effective when `task = scf` or `relax`. When ``sys.hybrid`` is set to `true`, ``sys.functional`` is no longer effective. **Example:** sys.hybrid = true -------------------------------------------------------------------------------------------------------------------------------------------- .. _sys.hybridType: **Parameter Name:** :guilabel:`sys.hybridType` **Default value:** HSE06 **Possible values:** PBE0/HSE03/HSE06/B3LYP **Description:** The ``sys.hybridType`` parameter specifies the type of hybrid functional; this parameter only takes effect when sys.hybrid = true; **Example:** sys.hybridType = HSE06 -------------------------------------------------------------------------------------------------------------------------------------------- .. _sys.hybridAlpha: **Parameter Name:** :guilabel:`sys.hybridAlpha` **Default:** When ``sys.hybridType`` = PBE0, the default value is **0.25**, when ``sys.hybridType`` = HSE06, the default value is **0.25**, and when ``sys.hybridType`` = HSE03, the default value is **0.25**. **Possible values:** real **Description:** The ``sys.hybridAlpha`` parameter specifies the coefficient of the exact exchange correlation functional in the hybrid functional; this parameter is only effective when sys.hybrid = true; **Example:** sys.hybridAlpha = 0.20 -------------------------------------------------------------------------------------------------------------------------------------------- .. _sys.hybridOmega: **Parameter Name:** :guilabel:`sys.hybridOmega` **Default:** When ``sys.hybridType`` = PBE0, the default value is **0**, when ``sys.hybridType`` = HSE06, the default value is **0.2**, and when ``sys.hybridType`` = HSE03, the default value is **0.3**. **Possible values:** real **Description:** The ``sys.hybridOmega`` parameter specifies the screening coefficient for the hybrid functional; this parameter is only active when sys.hybrid = true; **Example:** sys.hybridOmega = 0.2 -------------------------------------------------------------------------------------------------------------------------------------------- .. _sys.sol: **Parameter Name:** :guilabel:`sys.sol` **Default:** false **Allowed values:** false/true **Description:** The ``sys.sol`` parameter specifies whether to apply the implicit solvation model; **Example:** sys.sol = true -------------------------------------------------------------------------------------------------------------------------------------------- .. _sys.solEpsilon: **Parameter Name:** :guilabel:`sys.solEpsilon` **Default:** 78.4 **Optional values:** real **Description:** The ``sys.solEpsilon`` parameter specifies the solvent dielectric constant, with a default value of the dielectric constant of water. **Example:** sys.solEpsilon = 80 -------------------------------------------------------------------------------------------------------------------------------------------- .. _sys.solTAU: **Parameter Name:** :guilabel:`sys.solTAU` **Default:** 5.25E-4 **Possible values:** real **Description:** The ``sys.solTAU`` parameter specifies the magnitude of the effective interfacial tension per unit area, in units of eV/Å^2. It is recommended that this parameter be set to a value less than 1e-3; **Example:** sys.solTAU = 0 -------------------------------------------------------------------------------------------------------------------------------------------- .. _sys.solLambdaD: **Parameter Name:** :guilabel:`sys.solLambdaD` **Default value:** None **Possible values:** real **Description:** The ``sys.solLambdaD`` parameter specifies the Debye length in the Poisson-Boltzmann equation, in Å. If not set, the Poisson equation is used, and the screening effect of the double-layer ions on the electrostatic potential is ignored. **Example:** sys.solLambdaD = 3.04 .. note:: 1. The Debye length, `sys.solLambdaD`, is calculated as :math:`\lambda_D = \sqrt\frac{\varepsilon \varepsilon_ok_B T}{2 c^0 z^2 q^2}` The Debye length for a 1M aqueous solution of monovalent cations and anions (+/-1 charge) is: 3.04 Å -------------------------------------------------------------------------------------------------------------------------------------------- .. _sys.fixedP: **Parameter Name:** :guilabel:`sys.fixedP` **Default value:** false **Options:** false/true **Description:** The `sys.fixedP` parameter is a switch to control the fixed potential calculation, currently only compatible with `task = scf`. **Example:** sys.fixedP = true -------------------------------------------------------------------------------------------------------------------------------------------- .. _sys.fixedPConvergence: **Parameter Name:** :guilabel:`sys.fixedPConvergence` **Default value:** 0.01 **Allowed values:** real **Description:** The ``sys.fixedPConvergence`` parameter specifies the convergence accuracy for fixed potential calculations. The calculation terminates when the difference (delta_electron) between two consecutive self-consistent calculations is less than the convergence accuracy. **Example:** sys.fixedPConvergence = 0.01 -------------------------------------------------------------------------------------------------------------------------------------------- .. _sys.fixedPPotential: **Parameter Name:** :guilabel:`sys.fixedPPotential` **Default Value:** None **Allowed values:** real **Description:** The `sys.fixedPPotential` parameter specifies the target electrode potential value for the fixed potential calculation, with the default reference electrode potential being the Standard Hydrogen Electrode (SHE). **Example:** sys.fixedPPotential = 5.4723 -------------------------------------------------------------------------------------------------------------------------------------------- .. _sys.fixedPType: **Parameter Name:** :guilabel:`sys.fixedPType` **Default value:** SHE **Options:** SHE/PZC **Description:** The ``sys.fixedPType`` parameter specifies the type of potential for the potential values given by ``sys.fixedPPotential``. SHE uses the standard hydrogen electrode (SHE) potential as the reference value, while PZC uses the zero charge potential as the reference value; **Example:** sys.fixedPType = SHE -------------------------------------------------------------------------------------------------------------------------------------------- .. _sys.fixedPMaxIter: **Parameter Name:** :guilabel:`sys.fixedPMaxIter` **Default value:** 60 **Optional values:** int **Description:** The ``sys.fixedPMaxIter`` parameter specifies the maximum number of iterations for fixed potential calculations. **Example:** sys.fixedPMaxIter = 100 -------------------------------------------------------------------------------------------------------------------------------------------- .. _cal.iniCharge: **Parameter Name:** :guilabel:`cal.iniCharge` **Default Value:** None **Optional values:** Path to the rho.bin file **Description:** The `cal.iniCharge` parameter indicates the path to the **rho.bin** file obtained from a DS-PAW self-consistent or structural relaxation calculation, which can be specified for subsequent calculations; When `task=scf/relax`, if reading the previous charge density is not required, `cal.iniCharge` is not set, and if it is required to read the previous charge density, `cal.iniCharge` is set. When `task=dos/band/potential/elf`, `cal.iniCharge` must be set to specify the path to **rho.bin**. Both relative and absolute paths are supported. **Example:** cal.iniCharge = ../scf/rho.bin -------------------------------------------------------------------------------------------------------------------------------------------- .. _cal.iniWave: **Parameter Name:** :guilabel:`cal.iniWave` **Default value:** None **Allowed value:** Specify the path to wave.bin **Description:** The ``cal.iniWave`` parameter indicates the path to the wave function file **wave.bin** obtained from DS-PAW self-consistent or structure relaxation calculations, which can be used for subsequent calculations; if this parameter is not set, it means that **wave.bin** will not be read; the file path supports both relative and absolute paths; **Example:** cal.iniWave = ../scf/wave.bin -------------------------------------------------------------------------------------------------------------------------------------------- .. _cal.cutoffFactor: **Parameter Name:** :guilabel:`cal.cutoffFactor` **Default value:** 1.0 **Allowed value:** real **Description:** ``cal.cutoffFactor`` represents the coefficient for the cutoff energy parameter ``cal.cutoff``. When **cal.cutoffFactor=1.5**, the cutoff energy used in DS-PAW calculations is ``cal.cutoff*1.5``. The pseudopotentials in the DS-PAW2022A version have all been tested, and the default value of 1.0 for cutoffFactor satisfies most computational requirements; **Example:** cal.cutoffFactor = 1.0 -------------------------------------------------------------------------------------------------------------------------------------------- .. _cal.cutoff: **Parameter Name:** :guilabel:`cal.cutoff` **Default value:** The maximum cutoff energy used in the pseudopotential for the current calculation; **Allowed value:** real **Description:** The ``cal.cutoff`` parameter represents the cutoff energy of plane waves used in the calculation by the DS-PAW software. The built-in cutoff energy (ecutoff) for each pseudopotential file can be viewed in the **/pseudopotential** directory, such as reading the ecutoff of O_PBE as 480 eV from the O_PBE.paw file. **Example:** cal.cutoff = 480 -------------------------------------------------------------------------------------------------------------------------------------------- .. _cal.methods: **Parameter Name:** :guilabel:`cal.methods` **Default value:** 1 (When sys.hybrid = true, the default value is 4) **Allowed value:** 1/2/3/4/5 **Description:** ``cal.methods`` indicates the method used for the self-consistent electronic part optimization, where 1 represents the ``BD(block Davidson)`` method and 2 represents the ``RM(residual minimization)`` method; 3 represents the combination of the ``RM(residual minimization)`` method and the ``BD(block Davidson)`` method; 4 represents the ``damped MD`` (damped molecular dynamics) method; 5 represents the ``conjugated gradient`` (conjugate gradient) method; among which 4 and 5 can be used with hybrid functionals; **Example:** cal.methods = 1 -------------------------------------------------------------------------------------------------------------------------------------------- .. _cal.smearing: **Parameter Name:** :guilabel:`cal.smearing` **Default value:** 1 **Allowed value:** 1/2/3/4 **Description:** ``cal.smearing`` specifies the method used to set partial occupancies for each wave function Gaussian smearing/Fermi-smearing/Methfessel-Paxton order 1/tetrahedron method with Blochl corrections; **Example:** cal.smearing = 2 -------------------------------------------------------------------------------------------------------------------------------------------- .. _cal.sigma: **Parameter Name:** :guilabel:`cal.sigma` **Default value:** 0.2 **Allowed value:** real **Description:** ``cal.sigma`` represents the broadening when setting partial occupation numbers using finite temperature methods; **Example:** cal.sigma = 0.01 -------------------------------------------------------------------------------------------------------------------------------------------- .. _cal.kpoints: **Parameter Name:** :guilabel:`cal.kpoints` **Default value:** [1,1,1] **Allowed value:** 3*1 int array **Description:** ``cal.kpoints`` specifies the sampling size of the k-point grid in the Brillouin zone for DS-PAW settings; **Example:** cal.kpoints = [9,9,9] -------------------------------------------------------------------------------------------------------------------------------------------- .. _cal.ksamping: **Parameter Name:** :guilabel:`cal.ksamping` **Default value:** MP **Allowed value:** MP/G **Description:** ``cal.ksampling`` indicates the method for automatically generating the k-point grid in the Brillouin zone by DS-PAW, ``Monhkorst-Pack`` method / ``Gamma centered`` method; **Example:** cal.ksampling = G -------------------------------------------------------------------------------------------------------------------------------------------- .. _cal.totalBands: **Parameter Name:** :guilabel:`cal.totalBands` **Default value:** Related to the number of valence electrons in the system **Optional values:** int **Description:** ``cal.totalBands`` represents the total number of bands included in the DS-PAW calculation; **Example:** cal.totalBands = 100 -------------------------------------------------------------------------------------------------------------------------------------------- .. _cal.opticalGrid: **Parameter Name:** :guilabel:`cal.opticalGrid` **Default value:** 2000 **Allowed Values:** int **Description:** `cal.opticalGrid` represents the number of grid points in the energy region when calculating optical properties in DS-PAW. It only takes effect when `io.optical` is enabled. **Example:** cal.opticalGrid = 2000 -------------------------------------------------------------------------------------------------------------------------------------------- .. _cal.iniFixedP: **Parameter Name:** :guilabel:`cal.iniFixedP` **Default value:** None **Allowed value:** The path to the h5 file output by the constant potential calculation **Description:** The ``cal.iniFixedP`` specifies the path to the h5 file from the previous constant potential calculation, which DS-PAW reads to perform a continuation of the constant potential calculation; **Example:** cal.iniFixedP = ./scf.h5 -------------------------------------------------------------------------------------------------------------------------------------------- .. _cal.FFTGrid: **Parameter Name:** :guilabel:`cal.FFTGrid` **Default value:** Depends on the parameters `cal.cutoff` and `cal.cutoffFactor` **Allowed value:** 3*1 int array **Description:** ``cal.FFTGrid`` specifies the number of grid points along three lattice directions for the FFT grid of the unit cell; **Example:** cal.FFTGrid = [16,16,16] -------------------------------------------------------------------------------------------------------------------------------------------- .. _cal.supGrid: **Parameter Name:** :guilabel:`cal.supGrid` **Default value:** false **Allowed value:** true/false **Description:** The ``cal.supGrid`` is a switch to enable or disable the use of support FFTGrid, which can increase the density of the FFT-Grid; **Example:** cal.supGrid = true -------------------------------------------------------------------------------------------------------------------------------------------- .. _io.charge: **Parameter Name:** :guilabel:`io.charge` **Default value:** true **Allowed value:** true/false **Description:** Controls whether to output the charge density files ``rho.bin`` and ``rho.h5``; when io.charge=true, the ``rho.bin`` and ``rho.h5`` files are generated; **Example:** io.charge = true -------------------------------------------------------------------------------------------------------------------------------------------- .. _io.elf: **Parameter Name:** :guilabel:`io.elf` **Default value:** false **Allowed value:** false/true **Description:** Output ELF data results; this parameter takes effect when task=scf/relax; does not support setting sys.spin=non-collinear simultaneously **Example:** io.elf = true -------------------------------------------------------------------------------------------------------------------------------------------- .. _io.potential: **Parameter Name:** :guilabel:`io.potential` **Default value:** false **Allowed value:** false/true **Description:** Output data results of the potential function; this parameter is effective when task=SCF/relax; when io.potential=true, you can choose ``potential.type`` to set the type of the output potential function; **Example:** io.potential = true -------------------------------------------------------------------------------------------------------------------------------------------- .. _io.wave: **Parameter Name:** :guilabel:`io.wave` **Default value:** true when task is wannier and wave.bin file is not read, false for other tasks **Allowed value:** false/true **Description:** Output the binary file of the wave function `wave.bin`; when `io.wave=true`, generate the `wave.bin` file; **Example:** io.wave = true -------------------------------------------------------------------------------------------------------------------------------------------- .. _io.band: **Parameter Name:** :guilabel:`io.band` **Default value:** false **Allowed value:** false/true **Description:** Whether to directly calculate the band switching when task=scf; when io.band=true, all band calculation parameters take effect; **Example:** io.band = true -------------------------------------------------------------------------------------------------------------------------------------------- .. _io.dos: **Parameter Name:** :guilabel:`io.dos` **Default value:** false **Allowed value:** false/true **Description:** A switch to directly calculate the density of states when task=scf; when io.dos=true, all density of states calculation parameters take effect; **Example:** io.dos = true -------------------------------------------------------------------------------------------------------------------------------------------- .. _io.optical: **Parameter Name:** :guilabel:`io.optical` **Default value:** false **Allowed value:** false/true **Description:** Controls whether to perform optical property calculations; io.optical=true is only effective when task=scf is set, and when this parameter is active, the corresponding scf.h5 file will be written with optical property data; **Example:** io.optical = true -------------------------------------------------------------------------------------------------------------------------------------------- .. _io.bader: **Parameter Name:** :guilabel:`io.bader` **Default value:** false **Allowed value:** false/true **Description:** Controls whether to perform Bader charge calculation; io.bader=true only takes effect when task=scf is set, and when this parameter is active, the corresponding scf.h5 file will be written with Bader charge data; **Example:** io.bader = true -------------------------------------------------------------------------------------------------------------------------------------------- .. _io.polarization: **Parameter Name:** :guilabel:`io.polarization` **Default value:** false **Allowed value:** false/true **Description:** Controls whether to perform iron polarization calculation; io.polarization=true only takes effect when task=scf is set, and when this parameter is active, the corresponding scf.h5 file will be written with iron polarization data; **Example:** io.polarization = true -------------------------------------------------------------------------------------------------------------------------------------------- .. _io.magProject: **Parameter Name:** :guilabel:`io.magProject` **Default value:** true when sys.spin=collinear or sys.spin=non-collinear, false otherwise **Allowed value:** false/true **Description:** In magnetic moment calculations, controls whether to write projected magnetic moment data to the corresponding h5 output file; **Example:** io.magProject = true -------------------------------------------------------------------------------------------------------------------------------------------- .. _io.boundCharge: **Parameter Name:** :guilabel:`io.boundCharge` **Default value:** false **Allowed value:** true/false **Description:** Controls whether to output solvent bound charge density files when an implicit solvent model is introduced; **Example:** io.boundCharge = true -------------------------------------------------------------------------------------------------------------------------------------------- .. _io.outJsonFile: **Parameter Name:** :guilabel:`io.outJsonFile` **Default value:** true **Allowed value:** true/false **Description:** Controls whether to output a JSON-formatted output file; **Example:** io.outJsonFile = false -------------------------------------------------------------------------------------------------------------------------------------------- .. _scf.max: **Parameter Name:** :guilabel:`scf.max` **Default value:** 60 **Allowed value:** int **Description:** ``scf.max`` specifies the maximum number of electronic steps in a DS-PAW self-consistent field calculation; **Example:** scf.max = 100 -------------------------------------------------------------------------------------------------------------------------------------------- .. _scf.min: **Parameter Name:** :guilabel:`scf.min` **Default value:** 2 **Allowed value:** int **Description:** ``scf.min`` represents the minimum number of electronic steps for self-consistent calculations in DS-PAW; **Example:** scf.min = 5 -------------------------------------------------------------------------------------------------------------------------------------------- .. _scf.mixBeta: **Parameter Name:** :guilabel:`scf.mixBeta` **Default value:** 0.4 **Allowed value:** real **Description:** ``scf.mixBeta`` represents the Beta value of the electronic mixing algorithm used in DS-PAW self-consistent calculations; **Example:** scf.mixBeta = 0.2 -------------------------------------------------------------------------------------------------------------------------------------------- .. _scf.mixType: **Parameter Name:** :guilabel:`scf.mixType` **Default value:** Pulay **Allowed value:** Broyden/Kerker/Pulay **Description:** ``scf.mixType`` specifies the type of electronic mixing algorithm used in DS-PAW self-consistent calculations, currently supporting the **Broyden method**, **Kerker method**, and **Pulay method**; **Example:** scf.mixType = Pulay -------------------------------------------------------------------------------------------------------------------------------------------- .. _scf.convergence: **Parameter Name:** :guilabel:`scf.convergence` **Default value:** 1.0e-4 **Allowed value:** real **Description:** ``scf.convergence`` specifies the energy convergence criterion for the DS-PAW self-consistent calculation; **Example:** scf.convergence = 1.0e-5 -------------------------------------------------------------------------------------------------------------------------------------------- .. _scf.timeStep: **Parameter Name:** :guilabel:`scf.timeStep` **Default value:** 0.4 **Allowed value:** real **Description:** The parameter ``scf.timeStep`` controls the step size when cal.methods=4/5; When cal.methods = 4, scf.timeStep determines the MD step size; a too small step size will increase the number of steps required for convergence, while a too large step size may cause the scf calculation to diverge. When cal.methods = 5, scf.timeStep determines the initial step size; a too large step size may cause the scf calculation to become unstable, while a too small step size may result in insufficient accuracy. **Example:** scf.timeStep = 0.4 -------------------------------------------------------------------------------------------------------------------------------------------- .. _relax.max: **Parameter Name:** :guilabel:`relax.max` **Default value:** 60 **Allowed value:** int **Description:** ``relax.max`` represents the maximum number of ion steps during the relaxation of the DS-PAW structure; **Example:** relax.max = 300 -------------------------------------------------------------------------------------------------------------------------------------------- .. _relax.freedom: **Parameter Name:** :guilabel:`relax.freedom` **Default value:** atom **Allowed value:** atom/volume/all/atom&shape **Description:** ``relax.freedom`` specifies the degrees of freedom for the relaxation of the DS-PAW structure; atom indicates relaxation of only atomic positions; volume indicates relaxation of only the lattice volume; all indicates relaxation of atomic positions, lattice volume, and unit cell shape; atom&shape indicates relaxation of atomic positions and lattice shape; **Example:** relax.freedom = atom -------------------------------------------------------------------------------------------------------------------------------------------- .. _relax.methods: **Parameter Name:** :guilabel:`relax.methods` **Default value:** CG **Allowed value:** CG/DMD/QN **Description:** ``relax.methods`` specifies the relaxation method for the DS-PAW structure, where CG stands for Conjugate Gradient method; DMD for Damped Molecular Dynamics method; QN for Quasi-Newton method; **Example:** relax.methods = CG -------------------------------------------------------------------------------------------------------------------------------------------- .. _relax.convergenceType: **Parameter Name:** :guilabel:`relax.convergenceType` **Default value:** force **Allowed value:** force/energy **Description:** The ``relax.convergenceType`` specifies the choice of convergence criterion in the relaxation calculation, with options being force or energy as the convergence standard; **Example:** relax.convergenceType = energy -------------------------------------------------------------------------------------------------------------------------------------------- .. _relax.convergence: **Parameter Name:** :guilabel:`relax.convergence` **Default value:** 0.05/1e-4 **Allowed value:** real **Description:** ``relax.convergence`` specifies the convergence criterion for atomic forces or energy during the relaxation of a DS-PAW structure; the default value is 0.05 when forces are used as the convergence standard, and 1e-4 when energy is used as the convergence standard; **Example:** relax.convergence = 0.01 -------------------------------------------------------------------------------------------------------------------------------------------- .. _relax.stepRange: **Parameter Name:** :guilabel:`relax.stepRange` **Default value:** 0.5 **Allowed value:** real **Description:** ``relax.stepRange`` represents the scaling constant within the structural relaxation; **Example:** relax.stepRange = 0.2 -------------------------------------------------------------------------------------------------------------------------------------------- .. _relax.pressure: **Parameter Name:** :guilabel:`relax.pressure` **Default value:** 0 **Allowed value:** real **Description:** ``relax.pressure`` indicates that the structure optimization will be performed under a specific external pressure, and can also be used to correct Pullay stress error, unit kbar ; **Example:** relax.pressure = 100 -------------------------------------------------------------------------------------------------------------------------------------------- .. _dos.range: **Parameter Name:** :guilabel:`dos.range` **Default value:** [-10,10] **Allowed value:** 2*1 array **Description:** ``dos.range`` indicates the energy interval for density of states calculation when task=dos; **Example:** dos.range = [-15,15] -------------------------------------------------------------------------------------------------------------------------------------------- .. _dos.resolution: **Parameter Name:** :guilabel:`dos.resolution` **Default value:** 0.05 **Allowed value:** real **Description:** ``dos.resolution`` indicates the energy interval accuracy for density of states calculation when task=dos; **Example:** dos.resolution = 0.1 -------------------------------------------------------------------------------------------------------------------------------------------- .. _dos.project: **Parameter Name:** :guilabel:`dos.project` **Default value:** false **Allowed value:** false/true **Description:** The `dos.project` parameter controls the projected density of states; when `task=dos`, `dos.project` is **false/true**; if projection is enabled, `dos.project = true`, and the projected density of states information will be saved in the `dos.h5` file; if projection is not enabled, `dos.project = false`; **Example:** dos.project = true -------------------------------------------------------------------------------------------------------------------------------------------- .. _band.kpointsLabel: **Parameter Name:** :guilabel:`band.kpointsLabel` **Default value:** None **Allowed value:** n*1 string array **Description:** This parameter is only effective when task=band; ``band.kpointsLabel`` is the high-symmetry point labels for band calculation, the size of the ``band.kpointsLabel`` array is **1/3** of the size of the ``band.kpointsCoord`` array; larger by **1** than the size of the ``band.kpointsNumber`` array; **Example:** band.kpointsLabel = [G,M,K,G] -------------------------------------------------------------------------------------------------------------------------------------------- .. _band.kpointsCoord: **Parameter Name:** :guilabel:`band.kpointsCoord` **Default value:** None **Allowed value:** 3n*1 real array **Description:** This parameter is only effective when task=band; **band.kpointsCoord** represents the fractional coordinates of high-symmetry points during band calculation, and the data size of **band.kpointsCoord** is **3 times** the data size of **band.kpointsLabel**; **Example:** band.kpointsCoord = [0, 0, 0, 0.5, 0.5, 0.5, 0, 0, 0.5, 0, 0, 0] -------------------------------------------------------------------------------------------------------------------------------------------- .. _band.kpointsNumber: **Parameter Name:** :guilabel:`band.kpointsNumber` **Default value:** None **Allowed value:** (n-1)*1 int array/ 1*1 int array **Description:** This parameter is only effective during band calculations; **band.kpointsNumber** is the number of K points between each pair of adjacent high-symmetry points - - When the parameter length is (n-1)*1 int array, **band.kpointsNumber** is one less in size than the data size of **band.kpointsLabel** - - When the parameter length is a 1*1 int array, it performs equal-density point distribution for all high-symmetry points based on the given parameter; the final number of equally-distributed points can be read from **band.kpointsNumber** in DS-PAW.log; **Example:** band.kpointsNumber = [100] -------------------------------------------------------------------------------------------------------------------------------------------- .. _band.project: **Parameter Name:** :guilabel:`band.project` **Default value:** false **Allowed value:** false/true **Description:** The ``band.project`` parameter controls the projection of bands; when task= band, if band.project is set to true, the projection band information will be saved in the ``band.h5`` file; if projection is not enabled, set band.project = false; **Example:** band.project = true -------------------------------------------------------------------------------------------------------------------------------------------- .. _band.unfolding: **Parameter Name:** :guilabel:`band.unfolding` **Default value:** false **Allowed value:** false/true **Description:** The ``band.unfolding`` parameter is a switch for band unfolding; when task= band, ``band.unfolding`` takes effect (io.band = true does not take effect), and if ``band.unfolding`` is set to true, the unfolded band data will be saved in the ``band.h5`` file; **Example:** task = band, band.unfolding = true -------------------------------------------------------------------------------------------------------------------------------------------- .. _band.primitiveUVW: **Parameter Name:** :guilabel:`band.primitiveUVW` **Default value:** None **Allowed value:** 9*1 real array **Description:** The ``band.primitiveUVW`` ensures that when performing folding calculations, the product of the lattice constants of the supercell multiplied by the UVW coefficients equals the lattice vectors of the primitive cell; **Example:** band.primitiveUVW = [0.0, 0.5, 0.5, 0.5, 0.0, 0.5, 0.5, 0.5, 0.0] -------------------------------------------------------------------------------------------------------------------------------------------- .. _band.EfShift: **Parameter Name:** :guilabel:`band.EfShift` **Default value:** true when task=band, false for other tasks **Allowed value:** true/false **Description:** The ``band.EfShift`` parameter indicates whether to read EFermi from rho.bin when task=band, and it takes effect only when task=band; **Example:** band.EfShift = true -------------------------------------------------------------------------------------------------------------------------------------------- .. _optical.grid: **Parameter Name:** :guilabel:`optical.grid` **Default value:** 2000 **Allowed value:** int **Description:** ``optical.grid`` indicates the number of grid points in the energy region when calculating optical properties with DS-PAW, and takes effect only when io.optical and task=optical are specified; **Example:** optical.grid = 2000 -------------------------------------------------------------------------------------------------------------------------------------------- .. _optical.KKEta: **Parameter Name:** :guilabel:`optical.KKEta` **Default value:** EnergyAxe resolution*0.99 **Allowed value:** real **Description:** ``optical.KKEta`` is the :math:`\eta` value used when solving the real part of the dielectric function using the Kramers-Kroning relationship. Using the default value may result in very rough results. Increasing :math:`\eta` can make the results smoother, but it may introduce some errors in the calculation of the dielectric function values in the low-frequency region. It is not recommended to use excessively large :math:`\eta` values; instead, it is suggested to increase the number of grid points (optical.grid) to achieve smoother results. (In older versions without this parameter, the :math:`\eta` value was 0.1) **Example:** optical.KKEta = 0.1 -------------------------------------------------------------------------------------------------------------------------------------------- .. _optical.smearing: **Parameter Name:** :guilabel:`optical.smearing` **Default value:** 1 **Allowed value:** 1/2/3 **Description:** ``optical.smearing`` determines the smearing algorithm for energy broadening during optical calculations. 1/2/3 correspond to Gaussian smearing/Fermi smearing/Methfessel-Paxton order 1; **Example:** optical.smearing = 1 -------------------------------------------------------------------------------------------------------------------------------------------- .. _optical.sigma: **Parameter Name:** :guilabel:`optical.sigma` **Default value:** 0.05 **Allowed value:** real **Description:** ``optical.sigma`` determines the width of the broadening when using the expansion algorithm determined by optical.smearing; **Example:** optical.sigma = 0.05 -------------------------------------------------------------------------------------------------------------------------------------------- .. _optical.Emax: **Parameter Name:** :guilabel:`optical.Emax` **Default value:** Maximum energy of the unoccupied state*1.2 (eV) **Allowed value:** real **Description:** ``optical.Emax`` determines the maximum value of frequency (EnergyAxe) during optical calculations; **Example:** optical.Emax = 20 -------------------------------------------------------------------------------------------------------------------------------------------- .. _potential.type: **Parameter Name:** :guilabel:`potential.type` **Default value:** total **Allowed value:** total/hartree/all **Description:** ``potential.type`` controls the output type of the electrostatic potential; when potential.type = hartree, the ``potental.h5`` file writes the electrostatic potential (sum of ionic potential and Hartree potential), when potential.type = total, the ``potental.h5`` file writes the local potential (sum of electrostatic potential and exchange-correlation potential) data, when potential.type = all, the ``potental.h5`` file writes both types of potential; **Example:** potential.type = all -------------------------------------------------------------------------------------------------------------------------------------------- .. _corr.chargedSystem: **Parameter Name:** :guilabel:`corr.chargedSystem` **Default value:** false **Allowed value:** false/true **Description:** ``corr.chargedSystem`` indicates whether the energy of charged block systems can be corrected when calculating charged systems; **Example:** corr.chargedSystem = true -------------------------------------------------------------------------------------------------------------------------------------------- .. _corr.dipol: **Parameter Name:** :guilabel:`corr.dipol` **Default value:** false **Allowed value:** false/true **Description:** ``corr.dipol`` indicates the introduction of an artificial potential field (dipole correction) to address the issue of uneven vacuum potential; **Example:** corr.dipol = true -------------------------------------------------------------------------------------------------------------------------------------------- .. _corr.dipolDirection: **Parameter Name:** :guilabel:`corr.dipolDirection` **Default value:** None **Allowed value:** a/b/c/all **Description:** ``corr.dipolDirection`` indicates the direction of the dipole correction, where a/b/c represent the directions of the three lattice constants, and all indicates all directions, applicable for isolated molecule calculations; **Example:** corr.dipolDirection = c -------------------------------------------------------------------------------------------------------------------------------------------- .. _corr.dipolPosition: **Parameter Name:** :guilabel:`corr.dipolPosition` **Default value:** None **Allowed value:** 3*1 real array **Description:** ``corr.dipolPosition`` represents the relative position of the dipole in the unit cell; **Example:** corr.dipolPosition = [0.5, 0.5, 0.5] -------------------------------------------------------------------------------------------------------------------------------------------- .. _corr.dipolEfield: **Parameter Name:** :guilabel:`corr.dipolEfield` **Default value:** 0 **Allowed value:** real **Description:** ``corr.dipolEfield`` represents the magnitude of the external electric field, in units of eV/Å, and this parameter is only effective when ``corr.dipol = true`` and ``corr.dipolDirection`` is set; **Example:** corr.dipolEfield = 0.05 -------------------------------------------------------------------------------------------------------------------------------------------- .. _corr.dftu: **Parameter Name:** :guilabel:`corr.dftu` **Default value:** false **Allowed value:** false/true **Description:** ``corr.dftu`` indicates whether to introduce Hubbard U to handle strongly correlated systems; **Example:** corr.dftu = true -------------------------------------------------------------------------------------------------------------------------------------------- .. _corr.dftuForm: **Parameter Name:** :guilabel:`corr.dftuForm` **Default value:** 2 **Allowed value:** 1/2 **Description:** ``corr.dftuForm`` indicates which DFT+U method to select. 1 corresponds to the DFT+U+J method (Liechtenstein's formulation), 2 corresponds to the DFT+U method (Dudarev's formulation); **Example:** corr.dftuForm = 2 -------------------------------------------------------------------------------------------------------------------------------------------- .. _corr.dftuElements: **Parameter Name:** :guilabel:`corr.dftuElements` **Default value:** None **Allowed value:** n*1 string array **Description:** ``corr.dftuElements`` indicates the elements that require the addition of 'U'; **Example:** corr.dftuElements = [Ni,O] -------------------------------------------------------------------------------------------------------------------------------------------- .. _corr.dftuOrbital: **Parameter Name:** :guilabel:`corr.dftuOrbital` **Default value:** None **Allowed value:** n*1 string array **Description:** ``corr.dftuOrbital`` indicates the orbitals that need to be added U on the selected elements; **Example:** corr.dftuOrbital = [d,s] -------------------------------------------------------------------------------------------------------------------------------------------- .. _corr.dftuU: **Parameter Name:** :guilabel:`corr.dftuU` **Default value:** None **Allowed value:** n*1 real array **Description:** ``corr.dftuU`` indicates the size of the U value to be added to the selected orbit on the selected element; **Example:** corr.dftuU = [8,1] -------------------------------------------------------------------------------------------------------------------------------------------- .. _corr.dftuJ: **Parameter Name:** :guilabel:`corr.dftuJ` **Default value:** None **Allowed value:** n*1 real array **Description:** ``corr.dftuJ`` indicates the size of the J value to be added to the selected orbit on the selected element; **Example:** corr.dftuJ = [0.95,0] -------------------------------------------------------------------------------------------------------------------------------------------- .. _corr.VDW: **Parameter Name:** :guilabel:`corr.VDW` **Default value:** false **Allowed value:** false/true **Description:** ``corr.VDW`` indicates whether to introduce van der Waals corrections; **Example:** corr.VDW = true -------------------------------------------------------------------------------------------------------------------------------------------- .. _corr.VDWType: **Parameter Name:** :guilabel:`corr.VDWType` **Default value:** D2G **Allowed value:** D2G/D3G/D3BJ **Description:** ``corr.VDWType`` indicates which van der Waals correction is used, D2G represents DFT-D2 of Grimme's method; D3G represents DFT-D3 of Grimme's method; D3BJ represents DFT-D3 with Becke-Jonson damping method; **Example:** corr.VDWType = D3G -------------------------------------------------------------------------------------------------------------------------------------------- .. _corr.coreEnergy: **Parameter Name:** :guilabel:`corr.coreEnergy` **Default value:** false **Allowed value:** true/false **Description:** ``corr.coreEnergy`` indicates whether to use the initial state approximation to calculate the core electron energy levels; **Example:** corr.coreEnergy = true -------------------------------------------------------------------------------------------------------------------------------------------- .. _pcharge.bandIndex: **Parameter Name:** :guilabel:`pcharge.bandIndex` **Default value:** None **Allowed value:** n*1 int array **Description:** ``pcharge.bandIndex`` indicates the indices of bands used in the partial charge density calculation; **Example:** pcharge.bandIndex = [1,3,4] -------------------------------------------------------------------------------------------------------------------------------------------- .. _pcharge.kpointsIndex: **Parameter Name:** :guilabel:`pcharge.kpointsIndex` **Default value:** None **Allowed value:** n*1 int array **Description:** ``pcharge.kpointsIndex`` represents the indices of K points during partial charge density calculation; **Example:** pcharge.kpointsIndex = [12,14] -------------------------------------------------------------------------------------------------------------------------------------------- .. _pcharge.sumK: **Parameter Name:** :guilabel:`pcharge.sumK` **Default value:** false **Allowed value:** false/true **Description:** ``pcharge.sumK`` indicates whether to sum data of all K points and different bands after calculating the partial charge density and save the data. **Example:** pcharge.sumK = true -------------------------------------------------------------------------------------------------------------------------------------------- .. _neb.springK: **Parameter Name:** :guilabel:`neb.springK` **Default value:** 5 **Allowed value:** real **Description:** ``neb.springK`` represents the spring constant K in transition state calculations; **Example:** neb.springK = 7 -------------------------------------------------------------------------------------------------------------------------------------------- .. _neb.images: **Parameter Name:** :guilabel:`neb.images` **Default value:** None **Allowed value:** int **Description:** ``neb.images`` represents the number of intermediate structures in transition state calculations; **Example:** neb.images = 5 -------------------------------------------------------------------------------------------------------------------------------------------- .. _neb.iniFin: **Parameter Name:** :guilabel:`neb.iniFin` **Default value:** false **Allowed value:** true/false **Description:** ``neb.iniFin`` indicates whether the initial and final structures are subjected to self-consistent calculations during transition state calculations, where true means self-consistent calculations are performed; **Example:** neb.iniFin = true -------------------------------------------------------------------------------------------------------------------------------------------- .. _neb.method: **Parameter Name:** :guilabel:`neb.method` **Default value:** QN **Allowed value:** LBFGS/CG/QM/QN/QM2/FIRE **Description:** ``neb.method`` specifies the algorithm used in transition state calculations; **Example:** neb.method = QN -------------------------------------------------------------------------------------------------------------------------------------------- .. _neb.freedom: **Parameter Name:** :guilabel:`neb.freedom` **Default value:** atom **Allowed value:** atom/all **Description:** ``neb.freedom`` represents the degrees of freedom for relaxation in transition state calculations, where you can choose to relax only atoms or allow the unit cell to be relaxed; **Example:** neb.freedom = all -------------------------------------------------------------------------------------------------------------------------------------------- .. _neb.convergenceType: **Parameter Name:** :guilabel:`neb.convergenceType` **Default value:** force **Allowed value:** force/energy **Description:** The ``neb.convergenceType`` specifies the convergence criterion in transition state calculations, where only force can be used as the convergence criterion when using LBFGS/CG/QM2/FIRE methods; **Example:** neb.convergenceType = energy -------------------------------------------------------------------------------------------------------------------------------------------- .. _neb.convergence: **Parameter Name:** :guilabel:`neb.convergence` **Default value:** 0.1/1e-4 **Allowed value:** real **Description:** ``neb.convergence`` specifies the convergence criterion for forces or energies in transition state calculations; the default value is 0.1 when force is chosen as the convergence criterion, and 1e-4 when energy is chosen as the convergence criterion; **Example:** neb.convergence = 0.01 -------------------------------------------------------------------------------------------------------------------------------------------- .. _neb.stepRange: **Parameter Name:** :guilabel:`neb.stepRange` **Default value:** 0.1 **Allowed value:** real **Description:** ``neb.stepRange`` indicates the step size for structural relaxation during transition state calculations; **Example:** neb.stepRange = 0.01 -------------------------------------------------------------------------------------------------------------------------------------------- .. _neb.max: **Parameter Name:** :guilabel:`neb.max` **Default value:** 60 **Allowed value:** int **Description:** ``neb.max`` specifies the maximum number of steps for structure relaxation in transition state calculations; **Example:** neb.max = 300 -------------------------------------------------------------------------------------------------------------------------------------------- .. _frequency.dispOrder: **Parameter Name:** :guilabel:`frequency.dispOrder` **Default value:** 1 **Allowed value:** 1/2 **Description:** ``frequency.dispOrder`` indicates the method of atomic vibration during frequency calculation, where 1 corresponds to the central difference method with two vibration modes, and 2 corresponds to four vibration modes; **Example:** frequency.dispOrder = 2 -------------------------------------------------------------------------------------------------------------------------------------------- .. _frequency.dispRange: **Parameter Name:** :guilabel:`frequency.dispRange` **Default value:** 0.01 **Allowed value:** real **Description:** ``frequency.dispRange`` represents the atomic displacement during frequency calculation; **Example:** frequency.dispRange = 0.05 -------------------------------------------------------------------------------------------------------------------------------------------- .. _phonon.structureSize: **Parameter Name:** :guilabel:`phonon.structureSize` **Default value:** [1,1,1] **Allowed value:** 3*1 int array **Description:** ``phonon.structureSize`` indicates the size of the supercell used in the phonon calculation; **Example:** phonon.structureSize = [2,2,2] -------------------------------------------------------------------------------------------------------------------------------------------- .. _phonon.method: **Parameter Name:** :guilabel:`phonon.method` **Default value:** fd **Allowed value:** fd/dfpt **Description:** The ``phonon.method`` specifies the method for phonon calculations; fd refers to the finite displacement method; dfpt refers to the density functional perturbation theory method; **Example:** phonon.method = dfpt -------------------------------------------------------------------------------------------------------------------------------------------- .. _phonon.type: **Parameter Name:** :guilabel:`phonon.type` **Default value:** phonon **Allowed value:** phonon/band/dos/bandDos **Description:** ``phonon.type`` specifies which properties of phonons are calculated: phonon corresponds to calculating the force constant matrix or force set; band corresponds to calculating phonon bands; dos corresponds to calculating phonon density of states; bandDos corresponds to calculating both phonon bands and phonon density of states; **Example:** phonon.type = bandDos -------------------------------------------------------------------------------------------------------------------------------------------- .. _phonon.isDisplacement: **Parameter Name:** :guilabel:`phonon.isDisplacement` **Default value:** true **Allowed value:** true/false **Description:** ``phonon.isDisplacement`` indicates whether the displacement is calculated during the phonon calculation using the fd method; **Example:** phonon.isDisplacement = true -------------------------------------------------------------------------------------------------------------------------------------------- .. _phonon.fdDisplacement: **Parameter Name:** :guilabel:`phonon.fdDisplacement` **Default value:** 0.01 **Allowed value:** real **Description:** ``phonon.fdDisplacement`` represents the magnitude of displacement used in the phonon calculation by the fd (finite difference) method; **Example:** phonon.fdDisplacement = 0.05 -------------------------------------------------------------------------------------------------------------------------------------------- .. _phonon.iniPhonon: **Parameter Name:** :guilabel:`phonon.iniPhonon` **Default value:** None **Allowed value:** Specify the path to phonon.h5 **Description:** ``phonon.iniPhonon`` specifies the path for reading the force constant matrix or force set during phonon band or density of states calculations; **Example:** phonon.iniPhonon = ../phonon/phonon.h5 -------------------------------------------------------------------------------------------------------------------------------------------- .. _phonon.qsamping: **Parameter Name:** :guilabel:`phonon.qsamping` **Default value:** MP **Allowed value:** MP/G **Description:** ``phonon.qsamping`` specifies the q-point sampling method in the Brillouin zone for phonon calculations, either the ``Monkhorst-Pack`` method or the ``Gamma centered`` method; **Example:** phonon.qsamping = G -------------------------------------------------------------------------------------------------------------------------------------------- .. _phonon.qpoints: **Parameter Name:** :guilabel:`phonon.qpoints` **Default value:** [1,1,1] **Allowed value:** 3*1 int array **Description:** ``phonon.qpoints`` represents the sampling size of the Q-space grid during phonon calculations; **Example:** phonon.qpoints = [9,9,9] -------------------------------------------------------------------------------------------------------------------------------------------- .. _phonon.qpointsLabel: **Parameter Name:** :guilabel:`phonon.qpointsLabel` **Default value:** None **Allowed value:** n*1 string array **Description:** ``phonon.qpointsLabel`` indicates the labels of high-symmetry points during phonon band structure calculations; **Example:** phonon.qpointsLabel = [G,M,K,G] -------------------------------------------------------------------------------------------------------------------------------------------- .. _phonon.qpointsCoord: **Parameter Name:** :guilabel:`phonon.qpointsCoord` **Default value:** None **Allowed value:** 3n*1 real array **Description:** ``phonon.qpointsCoord`` represents the coordinates of high-symmetry points during phonon band structure calculations; **Example:** phonon.qpointsCoord = [0, 0, 0, 0.5, 0.5, 0.5, 0, 0, 0.5, 0, 0, 0] -------------------------------------------------------------------------------------------------------------------------------------------- .. _phonon.qpointsNumber: **Parameter Name:** :guilabel:`phonon.qpointsNumber` **Default value:** 51 **Allowed value:** int **Description:** ``phonon.qpointsNumber`` represents the number of q-points between adjacent high-symmetry points in the phonon band; **Example:** phonon.qpointsNumber = 100 -------------------------------------------------------------------------------------------------------------------------------------------- .. _phonon.primitiveUVW: **Parameter Name:** :guilabel:`phonon.primitiveUVW` **Default value:** [1,0,0,0,1,0,0,0,1] **Allowed value:** 9*1 real array **Description:** For the phonon band calculation, the lattice vectors of the primitive cell are obtained by multiplying the lattice constants of the supercell by the UVW coefficients. **Example:** phonon.primitiveUVW = [1,0,0,0,1,0,0,0,1] -------------------------------------------------------------------------------------------------------------------------------------------- .. _phonon.dosRange: **Parameter Name:** :guilabel:`phonon.dosRange` **Default value:** [0, 40] **Allowed value:** 2*1 real array **Description:** ``phonon.dosRange`` indicates the energy range for the phonon density of states calculation; **Example:** phonon.dosRange = [-15,15] -------------------------------------------------------------------------------------------------------------------------------------------- .. _phonon.dosResolution: **Parameter Name:** :guilabel:`phonon.dosResolution` **Default value:** 0.1 **Allowed value:** real **Description:** ``phonon.dosResolution`` indicates the energy interval accuracy for the phonon density of states calculation; **Example:** phonon.dosResolution = 0.01 -------------------------------------------------------------------------------------------------------------------------------------------- .. _phonon.dosSigma: **Parameter Name:** :guilabel:`phonon.dosSigma` **Default value:** 0.1 **Allowed value:** real **Description:** ``phonon.dosSigma`` represents the broadening used in the phonon density of states calculation; **Example:** phonon.dosSigma = 0.1 -------------------------------------------------------------------------------------------------------------------------------------------- .. _phonon.dfptEpsilon: **Parameter Name:** :guilabel:`phonon.dfptEpsilon` **Default value:** false **Allowed value:** false/true **Description:** ``phonon.dfptEpsilon`` is a switch that controls the calculation of dielectric constant when phonon.method = dfpt; **Example:** phonon.dfptEpsilon = true -------------------------------------------------------------------------------------------------------------------------------------------- .. _phonon.nac: **Parameter Name:** :guilabel:`phonon.nac` **Default value:** true when phonon.dfptEpsilon = true **Allowed value:** false/true **Description:** When phonon.dfptEpsilon = true, if calculating band structure and density of states, phonon.nac is used as a switch for whether to use non-analytical term correction; **Example:** phonon.nac = false -------------------------------------------------------------------------------------------------------------------------------------------- .. _phonon.thermal: **Parameter Name:** :guilabel:`phonon.thermal` **Default value:** false **Allowed value:** false/true **Description:** ``phonon.thermal`` is a switch that controls the calculation of thermodynamic properties when task=phonon and phonon.type=dos or phonon.type=bandDos; **Example:** phonon.thermal = true -------------------------------------------------------------------------------------------------------------------------------------------- .. _phonon.thermalRange: **Parameter Name:** :guilabel:`phonon.thermalRange` **Default value:** [0,1200,10] **Allowed value:** 3*1 real array **Description:** ``phonon.thermalRange`` [min_T, max_T, :math:`\delta` T] specifies the temperature range for thermodynamic property calculations and the data storage interval; **Example:** phonon.thermalRange = [0,1000,10] -------------------------------------------------------------------------------------------------------------------------------------------- .. _phonon.eigenVectors: **Parameter Name:** :guilabel:`phonon.eigenVectors` **Default value:** false **Allowed value:** false/true **Description:** ``phonon.eigenVectors`` controls whether to output the eigenvectors of the dynamical matrix. When phonon.eigenVectors=true, EigenVectors output will be added under the BandInfo section in the phonon output file. EigenVectors>Size provides the size of the eigenvector matrix of the dynamical matrix (size: [NumberOfQPoints, (NumberOfAtoms*3), NumberOfBand, (real, imag)]), EigenVectors>RowMajor indicates whether to output in row-major order, and EigenVectors>Values gives the values of the eigenvector matrix; **Example:** phonon.eigenVectors = true -------------------------------------------------------------------------------------------------------------------------------------------- .. _elastic.dispOrder: **Parameter Name:** :guilabel:`elastic.dispOrder` **Default value:** 1 **Allowed value:** 1/2 **Description:** ``elastic.dispOrder`` indicates the method of atomic vibration during elastic constant calculation, where 1 corresponds to the central difference method (with two vibration modes), and 2 corresponds to the four vibration modes; **Example:** elastic.dispOrder = 1 -------------------------------------------------------------------------------------------------------------------------------------------- .. _elastic.dispRange: **Parameter Name:** :guilabel:`elastic.dispRange` **Default value:** 0.01 **Allowed value:** real **Description:** ``elastic.dispRange`` indicates the atomic displacement used in the calculation of elastic constants; **Example:** elastic.dispRange = 0.05 -------------------------------------------------------------------------------------------------------------------------------------------- .. _aimd.ensemble: **Parameter Name:** :guilabel:`aimd.ensemble` **Default value:** NVE **Allowed value:** NVE/NVT/NPT/NPH/SA **Description:** ``aimd.ensemble`` indicates the ensemble used in molecular dynamics simulations; SA is an abbreviation for Simulated Annealing, corresponding to the simulation annealing process; **Example:** aimd.ensemble = NVE -------------------------------------------------------------------------------------------------------------------------------------------- .. _aimd.thermostat: **Parameter Name:** :guilabel:`aimd.thermostat` **Default value:** Depends on :guilabel:`aimd.ensemble` **Allowed value:** andersen/noseHoover/langevin **Description:** ``aimd.thermostat`` specifies the thermostat or barostat used in molecular dynamics simulations; **Example:** aimd.thermostat = andersen +-----------------------+-------------+-------------+-------------+--------------+-------------+ | Thermostat/Ensemble | NVE | NVT | NPT | NPH | SA | +-----------------------+-------------+-------------+-------------+--------------+-------------+ | andersen | compatible*| compatible | incompatible| incompatible | incompatible| +-----------------------+-------------+-------------+-------------+--------------+-------------+ | noseHoover | incompatible| compatible* | incompatible| incompatible | incompatible| +-----------------------+-------------+-------------+-------------+--------------+-------------+ | langevin | incompatible| compatible| compatible* | compatible* |incompatible | +-----------------------+-------------+-------------+-------------+--------------+-------------+ Note: * denotes default thermostat -------------------------------------------------------------------------------------------------------------------------------------------- .. _aimd.andersenProb: **Parameter Name:** :guilabel:`aimd.andersenProb` **Default value:** When `aimd.ensemble` is NVE, the default value is 0 **Allowed value:** When NVE, Allowed value is 0; When NVT, Allowed value is real (0 < x <= 1) **Description:** The ``aimd.andersenProb`` controls the probability that atoms experience "collisions" under the Andersen thermostat; **Example:** aimd.andersenProb = 0 -------------------------------------------------------------------------------------------------------------------------------------------- .. _aimd.noseMass: **Parameter Name:** :guilabel:`aimd.noseMass` **Default value:** 0 **Allowed value:** real (x >= 0) **Description:** ``aimd.noseMass`` controls the effective mass of the Nose-Hoover thermostat; **Example:** aimd.noseMass = 0 -------------------------------------------------------------------------------------------------------------------------------------------- .. _aimd.latticeFCoeff: **Parameter Name:** :guilabel:`aimd.latticeFCoeff` **Default value:** When `aimd.ensemble` is NPH, the default value is 0 **Allowed value:** 0 for NPH, real (x > 0) for NPT **Description:** ``aimd.latticeFCoeff`` represents the magnitude of the lattice friction coefficient in the Langevin thermostat under NPT/NPH ensembles, with units of ps-1; **Example:** aimd.latticeFCoeff = 10 -------------------------------------------------------------------------------------------------------------------------------------------- .. _aimd.atomFCoeffElements: **Parameter Name:** :guilabel:`aimd.atomFCoeffElements` **Default value:** None **Allowed value:** n*1 string array **Description:** ``aimd.atomFCoeffElements`` represents the element names considered as Langevin atoms when using the Langevin thermostat. The naming convention is "element name + underscore + custom field", such as Hf_1, and the element name in the structure.as file needs to be synchronized; **Example:** aimd.atomFCoeffElements = [Hf_1,O_1] -------------------------------------------------------------------------------------------------------------------------------------------- .. _aimd.atomFCoeffs: **Parameter Name:** :guilabel:`aimd.atomFCoeffs` **Default value:** None **Allowed value:** n*1 string array **Description:** ``aimd.atomFCoeffs`` represents the friction coefficients for Langevin atoms when using the Langevin thermostat, with units of ps-1. This value should correspond to the element names specified in ``aimd.atomFCoeffElements``. For example, it assigns a value of 10 to the Hf_1 atom and a value of 5 to the O_1 atom; **Example:** aimd.atomFCoeffElements = [Hf_1,O_1], aimd.atomFCoeffs = [10,5] -------------------------------------------------------------------------------------------------------------------------------------------- .. _aimd.latticeMass: **Parameter Name:** :guilabel:`aimd.latticeMass` **Default value:** 1000 **Allowed value:** real **Description:** ``aimd.latticeMass`` represents the virtual mass of the cell degrees of freedom when using the Langevin barostat for NPT/NPH simulations, with units **amu**; **Example:** aimd.latticeMass = 1000 -------------------------------------------------------------------------------------------------------------------------------------------- .. _aimd.pressure: **Parameter Name:** :guilabel:`aimd.pressure` **Default value:** 0 **Allowed value:** real **Description:** ``aimd.pressure`` represents the target pressure value of the system during NPT/NPH simulations, in units of **kbar**; **Example:** aimd.pressure = 1000 -------------------------------------------------------------------------------------------------------------------------------------------- .. _aimd.iniTemp: **Parameter Name:** :guilabel:`aimd.iniTemp` **Default value:** 0 **Allowed value:** real **Description:** ``aimd.iniTemp`` represents the initial temperature during molecular dynamics simulation, in K; **Example:** aimd.iniTemp = 1000 -------------------------------------------------------------------------------------------------------------------------------------------- .. _aimd.finTemp: **Parameter Name:** :guilabel:`aimd.finTemp` **Default value:** aimd.iniTemp **Allowed value:** real **Description:** ``aimd.finTemp`` represents the final temperature in the molecular dynamics simulation, this parameter is only effective when ``aimd.ensemble = SA``; unit K; **Example:** aimd.finTemp = 1000 -------------------------------------------------------------------------------------------------------------------------------------------- .. _aimd.timeStep: **Parameter Name:** :guilabel:`aimd.timeStep` **Default value:** 1 **Allowed value:** real **Description:** ``aimd.timeStep`` represents the time step of the molecular dynamics simulation, in fs; **Example:** aimd.timeStep = 1 -------------------------------------------------------------------------------------------------------------------------------------------- .. _aimd.totalSteps: **Parameter Name:** :guilabel:`aimd.totalSteps` **Default value:** None **Allowed value:** real **Description:** ``aimd.totalSteps`` represents the total number of steps in the molecular dynamics simulation; **Example:** aimd.totalSteps = 10000 -------------------------------------------------------------------------------------------------------------------------------------------- .. _wannier.functions: **Parameter Name:** :guilabel:`wannier.functions` **Default value:** None **Allowed value:** int **Description:** ``wannier.functions`` indicates the number of Wannier functions; **Example:** wannier.functions = 8 -------------------------------------------------------------------------------------------------------------------------------------------- .. _wannier.wannMaxIter: **Parameter Name:** :guilabel:`wannier.wannMaxIter` **Default value:** 200 **Allowed value:** int **Description:** ``wannier.wannMaxIter`` represents the total number of iterations in the process of solving the maximally localized Wannier functions; **Example:** wannier.wannMaxIter = 500 -------------------------------------------------------------------------------------------------------------------------------------------- .. _wannier.disMaxIter: **Parameter Name:** :guilabel:`wannier.disMaxIter` **Default value:** 100 **Allowed value:** int **Description:** ``wannier.disMaxIter`` represents the maximum number of iterations for disentanglement; **Example:** wannier.disMaxIter = 200 -------------------------------------------------------------------------------------------------------------------------------------------- .. _wannier.disWin: **Parameter Name:** :guilabel:`wannier.disWin` **Default value:** [**lowest eigenvalue of the Hamiltonian obtained from self-consistent calculation**, **highest eigenvalue**] **Allowed value:** 2*1 array **Description:** ``wannier.disWin`` represents the disentanglement energy window, which defaults to including all bands; **Example:** wannier.disWin = [-1000,1000] -------------------------------------------------------------------------------------------------------------------------------------------- .. _wannier.disFrozWin: **Parameter Name:** :guilabel:`wannier.disFrozWin` **Default value:** None **Allowed value:** 2*1 array **Description:** ``wannier.disFrozWin`` represents the disentanglement window, where the states within this window remain unchanged during disentanglement; **Example:** wannier.disFrozWin = [-10,10] -------------------------------------------------------------------------------------------------------------------------------------------- .. _wannier.disEfShift: **Parameter Name:** :guilabel:`wannier.disEfShift` **Default value:** false **Allowed value:** true/false **Description:** ``wannier.disEfShift`` indicates whether the energy input for wannier.disWin and wannier.disFrozWin is Ef=0; **Example:** wannier.disEfShift = true -------------------------------------------------------------------------------------------------------------------------------------------- .. _wannier.interpolatedBand: **Parameter Name:** :guilabel:`wannier.interpolatedBand` **Default value:** false **Allowed value:** true/false **Description:** ``wannier.interpolatedBand`` indicates the switch for interpolating bands in the Wannier calculation; **Example:** wannier.interpolatedBand = true -------------------------------------------------------------------------------------------------------------------------------------------- .. _wannier.kpointsLabel: **Parameter Name:** :guilabel:`wannier.kpointsLabel` **Default value:** None **Allowed value:** n*1 string array **Description:** ``wannier.kpointsLabel`` indicates the labels of high-symmetry points for interpolated band structures; **Example:** wannier.kpointsLabel = [G,M,K,G] -------------------------------------------------------------------------------------------------------------------------------------------- .. _wannier.kpointsCoord: **Parameter Name:** :guilabel:`wannier.kpointsCoord` **Default value:** None **Allowed value:** 3n*1 real array **Description:** ``wannier.kpointsCoord`` indicates the fractional coordinates of the high-symmetry points for interpolated band structures; **Example:** wannier.kpointsCoord = [0, 0, 0, 0.5, 0.5, 0.5, 0, 0, 0.5, 0, 0, 0] -------------------------------------------------------------------------------------------------------------------------------------------- .. _wannier.kpointsNumber: **Parameter Name:** :guilabel:`wannier.kpointsNumber` **Default value:** None **Allowed value:** (n-1)*1 int array/ 1*1 int array **Description:** This parameter is only effective when performing interpolated band calculations; **wannier.kpointsNumber** is the number of K points between adjacent high-symmetry points in the band. - - When the parameter length is (n-1)*1 int array, **wannier.kpointsNumber** is one less than the data size of **wannier.kpointsNumber** - - When the parameter length is a 1*1 int array, evenly distribute points around all high-symmetry points based on the given parameter; the final number of evenly distributed points can be read from **wannier.kpointsNumber** in DS-PAW.log; **Example:** wannier.kpointsNumber = [100] -------------------------------------------------------------------------------------------------------------------------------------------- .. _wannier.kmeshTolerance: **Parameter Name:** :guilabel:`wannier.kmeshTolerance` **Default value:** 1e-06 **Allowed value:** real **Description:** ``wannier.kmeshTolerance`` determines whether two k-points are in the same shell; **Example:** wannier.kmeshTolerance = 1e-06 -------------------------------------------------------------------------------------------------------------------------------------------- .. _wannier.outStep: **Parameter Name:** :guilabel:`wannier.outStep` **Default value:** 20 **Allowed value:** int **Description:** ``wannier.outStep`` specifies the interval at which wannier information is output when the task is set to wannier; **Example:** wannier.outStep = 50 -------------------------------------------------------------------------------------------------------------------------------------------- .. _WannProj: **Paramater Name:** :guilabel:`WannProj` **Default value:** None **Allowed value:** n*1 string array **Description:** ``WannProj`` is the label defining the initial projection orbit in wannier calculations, used in ``structure.as``; **Example:** .. code-block:: python :linenos: Total number of atoms 2 Lattice 0.00 2.75 2.75 2.75 0.00 2.75 2.75 2.75 0.00 Direct WannProj Si -0.125000000 -0.125000000 -0.125000000 [s,p] Si 0.125000000 0.125000000 0.125000000 [s,p] .. note:: 1. The **WannProj** tag is set on line 7 of the structure.as file 2. The total number of projection orbits in this example is 2*(1+3) = 8 **Allowed value range:** DS-PAW supports **44** types of projection orbit names, divided into two categories, shown as follows: **- First category**: Abbreviated names of orbits, corresponding to the total number of orbits for this type, with the two relationships shown in the table below: +------------+---------------------------+ | **name** | **number of projections** | +------------+---------------------------+ | [s] | .. centered:: 1 | +------------+---------------------------+ |[p] | .. centered:: 3 | +------------+---------------------------+ | [d] |.. centered:: 5 | +------------+---------------------------+ | [f] |.. centered:: 7 | +------------+---------------------------+ | [sp] | .. centered:: 2 | +------------+---------------------------+ |[sp2] | .. centered:: 3 | +------------+---------------------------+ |[sp3] |.. centered:: 4 | +------------+---------------------------+ |[sp3d] | .. centered:: 5 | +------------+---------------------------+ |[sp3d2] | .. centered:: 6 | +------------+---------------------------+ **- Second category**: The name of a specific orbit, with each array ([ ]) corresponding to **1** projection orbit: +--------------------------------------------------------------------+ | [px] [py] [pz] | +--------------------------------------------------------------------+ | [dxy] [dyz] [dxz] [dz2] [dx2-y2] | +--------------------------------------------------------------------+ | [fz3] [fxz2] [fyz2] [fxyz] [fz(x2-y2)] [fx(x2-3y2)] [fy(3x2-y2)] | +--------------------------------------------------------------------+ | [sp-1] [sp-2] | +--------------------------------------------------------------------+ | [sp2-1] [sp2-2] [sp2-3] | +--------------------------------------------------------------------+ | [sp3-1] [sp3-2] [sp3-3] [sp3-4] | +--------------------------------------------------------------------+ | [sp3d-1] [sp3d-2] [sp3d-3] [sp3d-4] [sp3d-5] | +--------------------------------------------------------------------+ | [sp3d2-1] [sp3d2-2] [sp3d2-3] [sp3d2-4] [sp3d2-5] [sp3d2-6] | +--------------------------------------------------------------------+ .. note:: 1. When the initial orbit is not defined (see :doc:`/quickstart-update` section 2.30), the program executes a randomly selected initial projection.